/* ==== v-step ==== */

.v-step {
  position: relative;
  vertical-align: top;
  &:last-child .v-step__main {
    padding-right: 0;
  }
  &.is-horizontal {
    display: inline-block;
  }

  &.is-vertical {
    .v-step__head,
    .v-step__main {
      display: inline-block;
    }

    .v-step__main {
      padding-left: 10px;
    }
  }

  &__line {
    display: inline-block;
    position: absolute;
    border-color: inherit;
    background-color: @extra-light-silver;

    &.is-icon {
      &.is-horizontal {
        right: 4px;
      }
    }

    &.is-horizontal {
      top: 15px;
      height: 2px;
      left: 32px;
      right: 0;
    }

    &.is-vertical {
      width: 2px;
      box-sizing: border-box;
      top: 32px;
      bottom: 0;
      left: 15px;
    }
  }

  &__line-inner {
    display: block;
    border-width: 1px;
    border-style: solid;
    border-color: inherit;
    transition: all 150ms;
    box-sizing: border-box;
    width: 0;
    height: 0;
  }
  &__icon {
    display: block;
    line-height: 28px;

    > * {
      line-height: inherit;
      vertical-align: middle;
    }
  }

  &__head {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    text-align: center;
    line-height: 28px;
    font-size: 28px;
    vertical-align: top;
    transition: all 150ms;

    &.is-text {
      font-size: @font-size-base;
      border-width: 2px;
      border-style: solid;

      &.is-process {
        color: @white;
        background-color: @extra-light-silver;
        border-color: @extra-light-silver;
      }

      &.is-wait {
        color: @extra-light-silver;
        background-color: @white;
        border-color: @extra-light-silver;
      }

      &.is-success {
        color: @white;
        background-color: @color-success;
        border-color: @color-success;
      }

      &.is-error {
        color: @white;
        background-color: @color-danger;
        border-color: @color-danger;
      }

      &.is-finish {
        color: @white;
        background-color: @color-primary;
        border-color: @color-primary;
      }
    }

    &.is-process {
      color: @extra-light-silver;
      border-color: @extra-light-silver;
    }

    &.is-wait {
      color: @extra-light-silver;
      border-color: @extra-light-silver;
    }

    &.is-success {
      color: @color-success;
      border-color: @color-success;
    }

    &.is-error {
      color: @color-danger;
      border-color: @color-danger;
    }

    &.is-finish {
      color: @color-primary;
      border-color: @color-primary;
    }
  }
  &__main {
    white-space: normal;
    padding-right: 10px;
    text-align: left;
  }

  &__title {
    font-size: @font-size-base;
    line-height: 32px;
    display: inline-block;

    &.is-process {
      font-weight: 700;
      color: @extra-light-black;
    }

    &.is-wait {
      font-weight: normal;
      color: @light-silver;
    }

    &.is-success {
      font-weight: 700;
      color: @color-success;
    }

    &.is-error {
      font-weight: 700;
      color: @color-danger;
    }

    &.is-finish {
      font-weight: 700;
      color: @color-primary;
    }
  }

  &__description {
    font-size: 12px;
    font-weight: normal;
    line-height: 14px;

    &.is-process {
      color: @base-silver;
    }

    &.is-wait {
      color: @extra-light-silver;
    }

    &.is-success {
      color: @color-success;
    }

    &.is-error {
      color: @color-danger;
    }

    &.is-finish {
      color: @color-primary;
    }
  }
}
